// data 是已经排过序的
function arrange_y(data, each_height) {
    for (var y_now, i = 0; i < data.length; i++) {
        var d = data[i];

        if (data.length == 1) { // 只有一个
            y_now = d.y_raw;
        } else if (i == 0) { // 第一个
            if (d.y_raw + each_height * 2 < data[i + 1].y_raw) {
                y_now = d.y_raw;
            } else {
                y_now = d.y_raw - each_height;
            }
        } else if (i == data.length - 1) { // last one
            if (d.y_raw - y_now >= each_height) {
                y_now = d.y_raw;
            } else {
                y_now += each_height;
            }
        } else {
            if (d.y_raw - y_now > 3 * each_height) {
                if (data[i + 1].y_raw - d.y_raw < each_height * 2) {
                    y_now = d.y_raw - 2 * each_height;
                } else { // 很宽松
                    y_now = d.y_raw;
                }
            } else if (d.y_raw - y_now > 2 * each_height) {
                if (data[i + 1].y_raw - d.y_raw < each_height * 2) {
                    y_now = d.y_raw - each_height;
                } else {
                    y_now = d.y_raw;
                }
            } else {
                y_now += each_height;
            }
        }

        data[i]['y'] = y_now;
    }

    return data;
}